package rootdb

import (
	"errors"
	"os"
)

// 删除文件 - 删除原文件，前提为文件已压缩
// 压缩文件请手动登录服务器进行删除，并删除对应的条目记录
//
//	id	文件ID
func P7delete(id int64) error {
	if id <= 0 {
		return errors.New("文件ID传输错误")
	}
	// 创建设备信息
	conn, err := Connect()
	if err != nil {
		return err
	}
	f := File{}
	err = conn.Table(f.TableName()).Where("id", id).Limit(1).Find(&f).Error
	if err != nil {
		return err
	}
	if f.Id <= 0 {
		return errors.New("文件未找到")
	}
	if f.Path7z == "" {
		return errors.New("文件未压缩/未压缩完成，请稍后再试")
	}
	// 删除文件
	os.Remove(f.Path)
	f.IsDelete = 1
	err = conn.Table(f.TableName()).Save(&f).Error
	if err != nil {
		return err
	}
	return nil
}
